#!/bin/sh

# ripreparo l'ambiente
# test con piu' biblioteche
cat > ./bib.conf <<EOF
scuolanormalepi
scuolasannapi
regionetoscana
EOF


#client tutti attivi TRIAL 3 NSEC 1
./bibclient --titolo=cicciobello &
./bibclient --descrizione_fisica=inc --collocazione="Q." &
./bibclient --luogo_pubblicazione="Milano" --editore=Jackson --collocazione=Z &
./bibclient --luogo_pubblicazione="Paris" &
./bibclient --autore="Dick" &
./bibclient --autore="Fruttero" -p &
./bibclient --autore="Chandler" -p &

# invocazione bibserver
for FILE in $(cat bib.conf) ; do
    echo Attivo server $FILE
    ./bibserver $FILE $FILE.bib &
done

# diamo tempo alla terminazione client
sleep 5

# richiedo la terminazione del server
killall -w bibserver
# richiedo la terminazione dei server

# i file di log devono essere uguali
# controllo il file di log

echo Controllo file di log ...
tmp=$(mktemp)
tmpcheck=$(mktemp)
for FILE in $(cat bib.conf) ; do
    echo Check QUERY di log $FILE
    grep QUERY $FILE.log | sort  > $tmp
    grep QUERY $FILE.log4.check | sort > $tmpcheck
    if ! diff $tmp $tmpcheck ; then
	rm $tmp
	rm $tmpcheck
	exit 1
    fi
    echo Check LOAN di log $FILE
    grep LOAN $FILE.log | sort  > $tmp
    grep LOAN $FILE.log4.check | sort > $tmpcheck
    if ! diff $tmp $tmpcheck ; then
	rm $tmp
	rm $tmpcheck
	exit 1
    fi
done

rm $tmp
rm $tmpcheck

# test con bibaccess
LOGFILE=
rm out3.bibaccess
for FILE in $(cat bib.conf) ; do
    ./bibaccess $FILE.log --query >> out3.bibaccess
    ./bibaccess $FILE.log --loan >> out3.bibaccess
    LOGFILE="$LOGFILE $FILE.log"
done

echo $LOGFILE
./bibaccess --query $LOGFILE  >> out3.bibaccess
./bibaccess --loan $LOGFILE  >> out3.bibaccess

if ! diff out3.bibaccess out3.bibaccess.check ; then
    exit 1
fi

exit 0



